A conventional multimedia streaming technology usually adopts a server-client network transfer structure, in which mainly a server supplies a multimedia content streaming service to a user end in need. However, when such a server-client network transfer structure is adopted, in a condition that the number of connected users greatly increase at the same time, the server eventually fail to bear the load due to hardware conditions or that the network bandwidth reaches an upper limit, or even the whole service is terminated due to abrupt interruption (for example, a problem occurred to hardware equipment or network disconnection) of a single server.
In a P2P network structure, the problem that the server is overloaded in the server-client network transfer structure can be solved, and in applications of transmitting a live streaming, tree-based P2P network transmission is the most popular P2P transmission mode. However, in a conventional tree-based P2P network, a “transmit bottleneck” might occur due to different joining orders of the nodes. Specifically, in multicast tree transmission, if a principle of the constructed tree-based structure is to adopt a node bandwidth as a reference, the bandwidth algorithm fails to be optimized due to practical joining orders of the nodes, and in severe cases a “bottleneck” or “transmission interruption” might occur to the transmission of the whole tree. FIGS. 1A and 1B are examples of a transmission bottleneck in a conventional multicast tree. In a condition that the bandwidth and quantity of the nodes are already known, FIG. 1A shows an ideal multicast tree having the smallest depth established according to the bandwidth order. However, in practical conditions, the joining order of nodes is unpredictable, so many nodes having a low bandwidth capacity joins the service earlier than the nodes having a high bandwidth capacity, such that a multicast tree in which an upper layer has a small load capacity might be established, thereby influencing the depth and transmit stability of the whole tree, and this case is referred to as a “bottleneck” of the multicast tree, as shown in FIG. 1B.
On the other hand, a severe problem in the conventional multicast tree transmission structure is that disconnection of an upper layer node might cause transmission interruption to a lot of nodes under the upper layer node, or even the whole child tree collapses. If the problem occurs in the bottleneck condition, the situation becomes more severe, so a frequency of changes of the upper layer node should be reduced as much as possible, so as to increase the stability of the multicast tree. FIG. 2 shows an example that a child tree of lower layer nodes collapses due to disconnection of an upper layer node in the conventional multicast tree transmission. As can be seen from FIG. 2, upon the disconnection of the upper layer node in the multicast tree, the child tree of the lower layer nodes thereof collapses accordingly, thereby causing transmission interruption to a lot of nodes.